#include <iostream>
#include <gtest/gtest.h>

/* ============================================================
 *  断言宏的使用(只能在单元测试宏函数中使用)                     
 *     ASSERT_  断言失败则退出
 *     EXPECT_  断言失败继续运行
 * 
 *  bool值检查
 *     ASSERT_TRUE(参数), 期待结果是true 
 *     ASSERT_FALSE(参数), 期待结果是false
 *  
 *  数值型数据检查
 *     ASSERT_EQ(参数1，参数2)，传⼊的是需要⽐较的两个数equal 
 *     ASSERT_NE(参数1，参数2)，not equal，不等于才返回true 
 *     ASSERT_LT(参数1，参数2)，less than，⼩于才返回true 
 *     ASSERT_GT(参数1，参数2)，greater than，⼤于才返回true 
 *     ASSERT_LE(参数1，参数2)，less equal，⼩于等于才返回true 
 *     ASSERT_GE(参数1，参数2)，greater equal，⼤于等于才返回true
 * ============================================================ */

TEST(test, less_than)
{
    int x = 20;
    EXPECT_LT(x, 18);
    std::cout << "test finish.\n";
}

TEST(test2, less_than)
{
    int x = 20;
    EXPECT_LT(x, 18);
    std::cout << "test finish.\n";
}

TEST(test, great_than)
{
    int x = 20;
    EXPECT_GT(x, 18);
    std::cout << "test finish.\n";
}

int main(int argc, char *argv[])
{
    testing::InitGoogleTest(&argc, argv);
    (void)RUN_ALL_TESTS();    // 运行所有测试案例
    return 0;
}